#ifndef ABSTRACT_ENTITY_AENTITY_HPP_
# define ABSTRACT_ENTITY_AENTITY_HPP_

# include "Class/Component/Coordinates.hpp"

namespace		Entity
{
  class			AEntity
  {
  public:
	AEntity();
	AEntity(Component::Vector3f const &);
	AEntity(AEntity const &);

	AEntity const				&operator=(AEntity const &);


	Component::Vector2f const	&Get2DPosition() const throw();
	Component::Vector3f const	&GetPosition() const throw();
	Component::Vector2f const	&SetPosition(Component::Vector2f const &) throw();
	Component::Vector3f const	&SetPosition(Component::Vector3f const &) throw();
	Component::Vector2f const	&Translate(Component::Vector2f const &) throw();
	Component::Vector3f const	&Translate(Component::Vector3f const &) throw();


	virtual ~AEntity() throw() = 0;


  protected:
	Component::Vector3f	_Position;
  };

  inline AEntity::~AEntity() throw() {}
}

#endif
